package com.explorati.LeetCode243;

import java.util.HashMap;
import java.util.Map;

/**
 * 242. Valid Anagram 使用map解决
 * 
 * @author explorati
 *
 */
public class Solution {
	public boolean isAnagram(String s, String t) {
		Map<Character, Integer> map = new HashMap<>();
		char[] c = s.toCharArray();
		char[] d = t.toCharArray();
		if(c.length != d.length){
			return false;
		}

		for (int i = 0; i < c.length; i++) {
			if (!map.containsKey(c[i])) {
				map.put(c[i], 1);
			} else {
				map.put(c[i], map.get(c[i]) + 1);
			}
		}

		boolean flag = true;
		for (int i = 0; i < d.length; i++) {
			if (map.containsKey(d[i])) {
				map.put(d[i], map.get(d[i]) - 1);
				if (map.get(d[i]) == 0) {
					map.remove(d[i]);
				}
			} else {
				return false;
			}
		}
		return true;
	}
}
